package com.insta.hibernate.DAO;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Restrictions;

import com.insta.hibernate.model.Professeur;

public class ProfesseurDAO {

	public static void createProfesseur(String idProf, String nom, String prenom, Integer age, Session conn){
		Transaction tx= null;
		try {
			tx= conn.beginTransaction();
			Professeur prof= new Professeur(idProf, nom, prenom, age);
			conn.save(prof);
			tx.commit();
		} catch (RuntimeException e) {
			if(tx!=null){
				tx.rollback();
			}
			throw e;
		}
	}
	
	public static Professeur getProfesseurById(String id, Session conn){
		Criteria criteria= conn.createCriteria(Professeur.class)
				.add(Restrictions.naturalId().set("idProf", id))
				.setCacheable(true);
		return (Professeur) criteria.uniqueResult();
	}
	
	

}
